﻿using QuantumNet.Base.Interfaces;

namespace QuantumNet.Base
{
    public class YottaArithmetic : IArithmetic<Yotta>
    {
        public Yotta Add(Yotta left, Yotta right)
        {
            return left + right;
        }

        public Yotta Subtract(Yotta left, Yotta right)
        {
            return left - right;
        }

        public Yotta Multiply(Yotta left, Yotta right)
        {
            return left * right;
        }

        public Yotta Divide(Yotta numerator, Yotta denominator)
        {
            return numerator/denominator;
        }

        public Yotta Modulo(Yotta left, Yotta right)
        {
            return left % right;
        }

        public Yotta Increment(Yotta value)
        {
            return ++value;
        }

        public Yotta Decrement(Yotta value)
        {
            return --value;
        }

        public Yotta Inverse(Yotta value)
        {
            return -value;
        }

        public Yotta Zero()
        {
            throw new System.NotImplementedException();
        }

        public Yotta One()
        {
            throw new System.NotImplementedException();
        }

        public Yotta Abs(Yotta value)
        {
            throw new System.NotImplementedException();
        }

        public Yotta Sqr(Yotta value)
        {
            throw new System.NotImplementedException();
        }

        public Yotta Sqrt(Yotta value)
        {
            throw new System.NotImplementedException();
        }

        public Yotta Epsilon { get; private set; }
        public bool IsLess(Yotta left, Yotta right)
        {
            throw new System.NotImplementedException();
        }

        public bool IsEqual(Yotta left, Yotta right)
        {
            throw new System.NotImplementedException();
        }

        public bool IsGreater(Yotta left, Yotta right)
        {
            throw new System.NotImplementedException();
        }

        public bool IsLessEqual(Yotta left, Yotta right)
        {
            throw new System.NotImplementedException();
        }

        public bool IsGreatEqual(Yotta left, Yotta right)
        {
            throw new System.NotImplementedException();
        }

        public bool IsNotEqual(Yotta left, Yotta right)
        {
            throw new System.NotImplementedException();
        }
    }
}
